home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / vrs501.zip / VRS-M11.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-08  |  8KB  |  283 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  TINTEGER004(12)
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     String   STRING001
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     Goto LABEL001
  34.     End
  35.     If (0 == 0) STRING001 = "NO"
  36.     If (0 == 1) STRING001 = "YES"
  37.  
  38.     EndFunc
  39.  
  40.     :LABEL001
  41.     STRING002 = String(PcbNode())
  42.     If (PcbNode() == 0) STRING002 = "A"
  43.     STRING004 = GetEnv(STRING002 + "RECNO")
  44.     STRING004 = ToInteger(STRING004)
  45.     TINTEGER004(1) = 0
  46.     TINTEGER004(2) = 3000
  47.     TINTEGER004(3) = 8000
  48.     TINTEGER004(4) = 12000
  49.     TINTEGER004(5) = 20000
  50.     TINTEGER004(6) = 30000
  51.     TINTEGER004(7) = 40000
  52.     TINTEGER004(8) = 50000
  53.     TINTEGER004(9) = 60000
  54.     TINTEGER004(10) = 75000
  55.     TINTEGER004(11) = 100000
  56.     TINTEGER004(12) = 200000
  57.     DOpen 0, PPEPath() + "USER.DBF", 0
  58.     DGo 0, STRING004
  59.     INTEGER001 = DRecNo(0)
  60.     DGet 0, "EXP", INTEGER002
  61.     DGet 0, "LEVEL", INTEGER003
  62.     If (DGet(0, "TRAINED") == "Y") Goto LABEL004
  63.     DPut 0, "TRAINED", "Y"
  64.     INTEGER005 = INTEGER002 - TINTEGER004(INTEGER003)
  65.     INTEGER006 = TINTEGER004(INTEGER003 + 1) - INTEGER005
  66.     Cls
  67.     PrintLn "@X0B        Here at Xanadu Basic Training, we run an informal school that  @X07"
  68.     PrintLn "@X0B follows the same standards as the Imperial Marines.  We offer standard@X07"
  69.     PrintLn "@X0B training in sidearm, longarm, and unarmed combat, as well as having   @X07"
  70.     PrintLn "@X0B full testing facilities for field promotion of rank.  If an S&R ship  @X07"
  71.     PrintLn "@X0B ever finds this god-forsaken hole, you stand a good chance of having  @X07"
  72.     PrintLn "@X0B our rank made permanent.                                              @X07"
  73.     PrintLn 
  74.     PrintLn "@X0B        Our instructors are the finest former squad, team, and strike  @X07"
  75.     PrintLn "@X0B division leaders from the last few bug-hunt drops here on Xanadu that @X07"
  76.     PrintLn "@X0B were never retrieved.  We had a scout, one of the finest hand-to-hand @X07"
  77.     PrintLn "@X0B fighters we've ever seen, but Felix was infected with the mutant virus@X07"
  78.     PrintLn "@X0B  ...   If you ever come across him, running is your best option   ... @X07"
  79.     PrintLn ""
  80.     If (INTEGER006 > 0) PrintLn "     You are currently level ", INTEGER003, " with ", INTEGER006, " points needed to advance"
  81.     If (INTEGER006 <= 0) Then
  82.         PrintLn "@X0E        You are sufficiently experienced to test for the next level@X07"
  83.         PrintLn 
  84.         Call PPEPath() + "VRS-M19.PPE"
  85.     Else
  86.         PrintLn 
  87.         PrintLn "          @X0E(@X07@X0AT@X0E)@X0Braining @X07 @X0E(@X07@X0CQ@X0E)@X0Buit @X07"
  88.         PrintLn 
  89.         InputStr "@X0BYour Choice Soldier > @X0B_", STRING003, 10, 1, "TPQ", 0 + 8
  90.         Select Case (STRING003)
  91.             Case "T"
  92.                 Goto LABEL002
  93.             Case "Q"
  94.                 Goto LABEL005
  95.             Endif
  96.     End Select
  97.     Cls
  98.     PrintLn 
  99.     PrintLn "@X0E        We don't charge range fees here, as ammo cost is so dear.  You'll   @X0A"
  100.     PrintLn "@X0Ebe firing a laser pistol first, modified for low power.  Just put five into @X0A"
  101.     PrintLn "@X0Ethe ten ring and you'll pass this stage of the testing....                  @X0A"
  102.     PrintLn 
  103.     Call PPEPath() + "VRS-M19.PPE"
  104.     Gosub LABEL003
  105.     PrintLn "@X0B        NICE SHOOTING. @X0A"
  106.     Delay (1 * 182) / 10
  107.     Cls
  108.     PrintLn 
  109.     PrintLn "@X0E        Next is the same test, using a modified laser rifle.  This is a bit  @X0A"
  110.     PrintLn "@X0Emore difficult, for as you can see, we've removed the sights from the rifle. @X0A"
  111.     PrintLn "@X0EJust remember that there is no trajectory to this type of weapon and you'll  @X0A"
  112.     PrintLn "@X0Edo fine.                                                                     @X0A"
  113.     Delay (2 * 182) / 10
  114.     Gosub LABEL003
  115.     PrintLn 
  116.     PrintLn "@X0B        Nice shooting! @X0A"
  117.     Delay (2 * 182) / 10
  118.     Cls
  119.     PrintLn 
  120.     PrintLn "@X0E        Now comes the hard part.  As I'm sure you've noticed, ammo tends to  @X0A"
  121.     PrintLn "@X0Erun out just when you need it most.  Since you'll be relying on your unarmed @X0A"
  122.     PrintLn "@X0Eskills a lot, we test those skills very stringently.                         @X0A"
  123.     PrintLn "@X0E        Your test proctor is @X0AColonel Shujumi@X0E.  In unarmored hand to hand     @X0A"
  124.     PrintLn "@X0Epractice, he's even beaten Felix.  You'll be judged on your skills in both   @X0A"
  125.     PrintLn "@X0Eattack and defense - we don't expect you to win, just to show us your best   @X0A"
  126.     PrintLn "@X0Eattempts.                                                                    @X0A"
  127.     Delay (2 * 182) / 10
  128.     PrintLn 
  129.     Print "@X0A                       Mai-ai! @X0A"
  130.     Delay (2 * 182) / 10
  131.     Print "@X0D              Suki! @X0A"
  132.     Delay (2 * 182) / 10
  133.     PrintLn 
  134.     PrintLn 
  135.     PrintLn 
  136.     Print "@X0E             Kobo-ichi! @X0A"
  137.     Delay (2 * 182) / 10
  138.     Print "@X0E             Kobo-ichi! @X0A"
  139.     Delay (2 * 182) / 10
  140.     Print "@X0E             Kobo-ichi! @X0A"
  141.     Delay (2 * 182) / 10
  142.     Cls
  143.     PrintLn 
  144.     PrintLn 
  145.     PrintLn 
  146.     PrintLn "@X0C  ███████┐ ███████┐ ██████┐ ██┐ ███████┐ ██┐  ██┐ ████┐██████┐ ██┐   ██┐ @X07"
  147.     PrintLn "@X0C  └───███│ ██┌──██│ ██┌─██│ ██│ ██┌────┘ ██│  ██│ └██┌┘██┌─██│ ██│   ██│ @X07"
  148.     PrintLn "@X0C    ███┌─┘ ███████│ ██│ ██│ ██│ ███████┐ ███████│  ██│ ██│ ██│ ██│   ██│ @X07"
  149.     PrintLn "@X0C  ███┌─┘   ██┌──██│ ██│ ██│ ██│ └────██│ ██┌──██│  ██│ ██│ ██│ ██│   └─┘ @X07"
  150.     PrintLn "@X0C  ███████┐ ██│  ██│ ██│ ██████│ ███████│ ██│  ██│ ████┐██│ ██████│   ██┐ @X07"
  151.     PrintLn "@X0C  └──────┘ └─┘  └─┘ └─┘ └─────┘ └──────┘ └─┘  └─┘ └───┘└─┘ └─────┘   └─┘ @X07"
  152.     PrintLn 
  153.     PrintLn 
  154.     PrintLn 
  155.     Call PPEPath() + "VRS-M19.PPE"
  156.     INTEGER007 = Random(1)
  157.     Select Case (INTEGER007)
  158.         Case 0
  159.             PrintLn 
  160.             PrintLn "@X0E        Congratulations are in order.  Colonel Shujumi has rated your skill  @X07"
  161.             PrintLn "@X0Eas worthy of a field brevet.  Those lumps should heal up in a day or so, but @X07"
  162.             PrintLn "@X0Edon't worry about them, Colonel Shujumi is very careful when it comes to     @X07"
  163.             PrintLn "@X0Emaiming purposefully...                                                      @X07"
  164.             Delay (2 * 182) / 10
  165.             DPut 0, "LEVEL", INTEGER003 + 1
  166.             PrintLn "@X0B        You need a LOT more skill in hand to hand combat before you are even @X07"
  167.             PrintLn "@X0Bclose to being brevetted.  You're lucky you got off the mats without broken  @X07"
  168.             PrintLn "@X0Bbones...                                                                     @X07"
  169.             Goto LABEL005
  170.             :LABEL002
  171.             Cls
  172.             PrintLn 
  173.             PrintLn "@X0E        We specialize in hand to hand training, as that's what you'll need @X07"
  174.             PrintLn "@X0Emost to survive.  Weapons training you can pick up in the TurboShaft, if   @X07"
  175.             PrintLn "@X0Eyou're lucky enought to survive....                                        @X07"
  176.             PrintLn 
  177.             Delay (2 * 182) / 10
  178.             PrintLn 
  179.             PrintLn "@X0C        FIGHT! @X07"
  180.             Delay (2 * 182) / 10
  181.             INTEGER007 = Random(1)
  182.         Case 0
  183.             PrintLn 
  184.             PrintLn "@X0B        You need more practice before gaining any experience. @X07"
  185.             PrintLn 
  186.             Call PPEPath() + "VRS-M19.PPE"
  187.             PrintLn 
  188.             PrintLn "@X0E        Nice work.  You've gained 100 experience points! @X07"
  189.             DPut 0, "EXP", INTEGER002 + 100
  190.             DPut 0, "TRAINED", "Y"
  191.             Call PPEPath() + "VRS-M19.PPE"
  192.             Goto LABEL005
  193.             :LABEL003
  194.             INTEGER007 = Random(4)
  195.         Case 0
  196.             Cls
  197.             PrintLn 
  198.             PrintLn 
  199.             PrintLn "@X0B        You'd better get in some practice with that weapon, you don't seem @X07"
  200.             PrintLn "@X0Bto be very good with it.                                                   @X07"
  201.             Delay (2 * 182) / 10
  202.         Case Else
  203.             Return
  204.             :LABEL004
  205.             Cls
  206.             Newlines 5
  207.             PrintLn "@X0A You've been worn out by your previous training match today.  Go have a"
  208.             PrintLn "@X0Acold relaxing drink, and grab a sleep chamber for a good night's sleep.@X0F"
  209.             Newlines 5
  210.             Call PPEPath() + "VRS-M19.PPE"
  211.     End Select
  212.     :LABEL005
  213.     DCloseAll
  214.     End
  215.  
  216. ;------------------------------------------------------------------------------
  217. ;
  218. ; Usage report (before postprocessing)
  219. ;
  220. ; ■ Statements used :
  221. ;
  222. ;    2       End
  223. ;    8       Cls
  224. ;    18      Goto 
  225. ;    24      Let 
  226. ;    5       Print 
  227. ;    82      PrintLn 
  228. ;    11      If 
  229. ;    1       InputStr 
  230. ;    2       Gosub 
  231. ;    1       Return
  232. ;    13      Delay 
  233. ;    2       Newlines 
  234. ;    6       Call 
  235. ;    1       EndFunc
  236. ;    1       DOpen 
  237. ;    1       DCloseAll
  238. ;    1       DGo 
  239. ;    2       DGet 
  240. ;    4       DPut 
  241. ;
  242. ;
  243. ; ■ Functions used :
  244. ;
  245. ;    13      *
  246. ;    13      /
  247. ;    12      +
  248. ;    2       -
  249. ;    9       ==
  250. ;    1       <=
  251. ;    1       >
  252. ;    6       !
  253. ;    3       Random()
  254. ;    1       String()
  255. ;    7       PPEPath()
  256. ;    2       PcbNode()
  257. ;    1       GetEnv()
  258. ;    1       ToInteger()
  259. ;    1       DRecNo()
  260. ;    1       DGet()
  261. ;
  262. ;------------------------------------------------------------------------------
  263. ;
  264. ; Analysis flags : C
  265. ;
  266. ; C - Call child PPE ■ 3
  267. ;     This is usually normal, but may be a tricky way to launch some
  268. ;     sysop-only commands.
  269. ;     ■ Search for : CALL
  270. ;
  271. ;------------------------------------------------------------------------------
  272. ;
  273. ; Postprocessing report
  274. ;
  275. ;    0       For/Next
  276. ;    0       While/EndWhile
  277. ;    1       If/Then or If/Then/Else
  278. ;    2       Select Case
  279. ;
  280. ;------------------------------------------------------------------------------
  281. ;                 AEGiS Corp - Break the routines, code against the machines!
  282. ;------------------------------------------------------------------------------
  283.